package com.business.service;

import java.util.List;

import com.business.domain.Activities;
import com.business.domain.ActivitiesCar;
import com.business.domain.ActivitiesLoan;
import com.sys.domain.AdminProvince;
import com.sys.result.PageParam;
import com.sys.result.RequestPageVo;
import com.sys.result.RequestResultVo;




public interface ActivitiesService {


	/**
	 * 分页查询活动类型
	 * @param param
	 * @param actType
	 * @return
	 */
	RequestPageVo<Activities> queryActivitiesList(PageParam param,String type);
	
	/**
	 * 查询所有活动类型
	 * @return
	 */
	List<Activities> queryAllActivities();
	
	/**
	 * 活动类型删除
	 * @param id
	 * @return
	 */
	RequestResultVo<Activities> deleteActivities(Integer id);
	
	/**
	 * 添加活动类型
	 * @param act
	 * @return
	 */
	RequestResultVo<Activities> addActivities(Activities act);
	
	/**
	 * 更新活动类型
	 * @param act
	 * @return
	 */
	RequestResultVo<Activities> updateActivities(Activities act);
	
	
	/**
	 * 分页查询活动类型/品牌/车型/车系
	 * @param param
	 * @param actType
	 * @return
	 */
	RequestPageVo<ActivitiesCar> queryActivitiesCarList(PageParam param,String activitiesType);
	
	/**
	 * /品牌/车型/车系活动删除
	 * @param id
	 * @return
	 */
	RequestResultVo<ActivitiesCar> deleteActivitiesCar(Integer id);
	
	/**
	 * 添加/品牌/车型/车系活动
	 * @param act
	 * @return
	 */
	RequestResultVo<ActivitiesCar> addActivitiesCar(ActivitiesCar act);
	
	/**
	 * 更新/品牌/车型/车系活动
	 * @param act
	 * @return
	 */
	RequestResultVo<ActivitiesCar> updateActivitiesCar(ActivitiesCar act);
	
	
	/**
	 * 分页查询车贷活动
	 * @param param
	 * @param actType
	 * @return
	 */
	RequestPageVo<ActivitiesLoan> queryActivitiesLoanList(PageParam param,String activitiesType);
	
	/**
	 * 车贷活动删除
	 * @param id
	 * @return
	 */
	RequestResultVo<ActivitiesLoan> deleteActivitiesLoan(Integer id);
	
	/**
	 * 添加车贷活动
	 * @param act
	 * @return
	 */
	RequestResultVo<ActivitiesLoan> addActivitiesLoan(ActivitiesLoan act);
	
	/**
	 * 更新车贷活动
	 * @param act
	 * @return
	 */
	RequestResultVo<ActivitiesLoan> updateActivitiesLoan(ActivitiesLoan act);
	
	/**
	 * 获得所有地区
	 * @return
	 */
	List<AdminProvince> queryProvinceList();
	
	/**
	 * 车贷活动重复校验
	 * @param activities
	 * @return
	 */
	Boolean checkLoan(ActivitiesLoan loan);
	/**
	 * 车型活动重复校验
	 * @param activities
	 * @return
	 */
	Boolean checkActiceCar(ActivitiesCar car);
}
